Operations of digital microprocessors are based on binary data. Binary data can be formed to represent signed data or unsigned data. Signed data can be used to represent both positive and negative numbers. In most cases, unsigned data can only represent positive numbers. Arithmetic instructions of a microprocessor process information in the form of signed and unsigned digital data and control many operational processes of the microprocessor.
Various prior art systems have separate operations for different kinds of information. For example, a system may use "signed" arithmetic instructions for some arithmetic operations which operate only with signed numbers. Conversely, instructions for some arithmetic operations may operate only with unsigned numbers and are therefore referred to as "unsigned" arithmetic instructions.
For example, an instruction called "vis.sub.-- pdist" in the Visual Instruction Set (VIS) of UltraSPARC processors controls a microprocessor to compute the sum of the absolute difference between a pair of eight-pixel unsigned binary bit sets. This instruction is described in the "VIS User's Manual", release 1.0, from Sun Microsystems, April, 1996. One application of this instruction is to accelerate motion compensation to support real-time video compression. However, the current implementation of the vis.sub.-- pdist instruction can be used only for unsigned data. Other examples of instructions which can only be applied to signed data are also known, such as the instructions fpsub16 and pfsub32 on UltraSPARC processors.
Such division between signed and unsigned operations is limiting in the operation efficiency of a microprocessor.